Métodos de Predictivos (Clasificación o Aprendizaje-Supervisado)
Se necesita cargar las siguientes librerías
Muestra la distribución de la variable a predecir
equilibrio.variable.predecir<-function(datos,variable.predecir,ylab="Cantidad de individuos",xlab = "",
main=paste("Distribución de la variable",variable.predecir),
col = NA) {
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
ggplot(data = datos, mapping = aes_string(x = variable.predecir, fill = variable.predecir)) +
geom_bar() +
scale_fill_manual(values = col, name = variable.predecir) +
labs(x = xlab, y = ylab, title = main) +
theme_minimal() +
theme(legend.position = "bottom")
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Muestra la distribución de una variable numérica según la variable a predecir
poder.predictivo.numerica<-function(datos,variable.predecir,variable.comparar,ylab="",xlab="",
main=paste("Densidad de la variable",variable.comparar,'según',variable.predecir),
col=NA){
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(missing(variable.comparar) | !(variable.comparar %in% colnames(datos)) | !is.numeric(datos[,variable.comparar])){
stop("variable.comparar tiene que ser ingresada y ser un nombre de columna numérica", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
ggplot(data = datos, aes_string(variable.comparar, fill = variable.predecir)) +
geom_density(alpha = .7, color = NA) +
scale_fill_manual(values = col) +
labs(title = main , y = ylab, x = xlab ,fill = variable.predecir) +
theme_minimal() +
theme(legend.position = 'bottom',
legend.title = element_blank(),
text = element_text(size = 15))
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Muestra la distribución de una variable categórica según la variable a predecir
poder.predictivo.categorica<-function(datos,variable.predecir,variable.comparar,ylab="",xlab="",
main=paste("Densidad de la variable",variable.comparar,'según',variable.predecir),
col=NA){
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(missing(variable.comparar) | !(variable.comparar %in% colnames(datos)) |
!(is.factor(datos[,variable.comparar]) | is.character(datos[,variable.comparar])) ){
stop("variable.comparar tiene que ser ingresada y ser un nombre de columna categórica", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
datos2 <- datos %>%
dplyr::group_by_(variable.comparar, variable.predecir) %>%
dplyr::summarise(count = n())
if(variable.comparar != variable.predecir){
datos2 <- datos2 %>% dplyr::group_by_(variable.comparar)
}
datos2 <- datos2 %>% dplyr::mutate(prop = round(count/sum(count),4))
ggplot(data = datos2, mapping = aes_string(x = variable.comparar, y = "prop", fill = variable.predecir)) +
geom_col(position = "fill") +
geom_text(aes(label = glue("{percent(prop)} ({count})")), position = position_stack(vjust = .5), color = "white") +
scale_y_continuous(label = percent) +
labs(y = xlab, x = ylab, title = main) +
scale_fill_manual(values = col, name = variable.predecir) +
theme(legend.position = "bottom")+
coord_flip()
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Índices para matrices NxN
indices.general <- function(MC) {
precision.global <- sum(diag(MC))/sum(MC)
error.global <- 1 - precision.global
precision.categoria <- diag(MC)/rowSums(MC)
res <- list(matriz.confusion = MC, precision.global = precision.global, error.global = error.global,
precision.categoria = precision.categoria)
names(res) <- c("Matriz de Confusión", "Precisión Global", "Error Global",
"Precisión por categoría")
return(res)
}'data.frame': 150 obs. of 5 variables:
$ s.largo: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ s.ancho: num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ p.largo: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ p.ancho: num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ tipo : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Vamos a generar al azar una tabla de testing de tamaño 50 y una tabla de aprendizaje de tamaño 100.
Se cargan las librerías
Se genera el modelo kernel = "linear"
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(tipo~., data = taprendizaje, kernel = "linear", probability = TRUE)
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "linear",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: linear
cost: 1
Number of Support Vectors: 24
Se genera la predicción
145 29 67 31 8 91
virginica setosa versicolor setosa setosa versicolor
98 95 15 21 102 106
versicolor versicolor setosa setosa virginica virginica
119 148 1 117 64 85
virginica virginica setosa virginica versicolor versicolor
47 9 41 144 75 62
setosa setosa setosa virginica versicolor versicolor
61 19 13 84 16 54
versicolor setosa setosa virginica setosa versicolor
23 59 100 89 17 20
setosa versicolor versicolor versicolor setosa setosa
134 90 37 78 146 53
virginica versicolor setosa virginica virginica versicolor
126 149 60 140 101 97
virginica virginica versicolor virginica virginica versicolor
56 114
versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 0 14
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 0 14
$`Precisión Global`
[1] 0.96
$`Error Global`
[1] 0.04
$`Precisión por categoría`
setosa versicolor virginica
1.0 0.9 1.0
Se genera el modelo kernel = "radial"
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(tipo~., data = taprendizaje, kernel = "radial", probability = TRUE)
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "radial",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
Number of Support Vectors: 40
Se genera la predicción
145 29 67 31 8 91
virginica setosa versicolor setosa setosa versicolor
98 95 15 21 102 106
versicolor versicolor setosa setosa virginica virginica
119 148 1 117 64 85
virginica virginica setosa virginica versicolor versicolor
47 9 41 144 75 62
setosa setosa setosa virginica versicolor versicolor
61 19 13 84 16 54
versicolor setosa setosa virginica setosa versicolor
23 59 100 89 17 20
setosa versicolor versicolor versicolor setosa setosa
134 90 37 78 146 53
versicolor versicolor setosa virginica virginica versicolor
126 149 60 140 101 97
virginica virginica versicolor virginica virginica versicolor
56 114
versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 1 13
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 1 13
$`Precisión Global`
[1] 0.94
$`Error Global`
[1] 0.06
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 0.9000000 0.9285714
Se genera el modelo kernel = "polynomial"
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(tipo~., data = taprendizaje, kernel = "polynomial", probability = TRUE)
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "polynomial",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: polynomial
cost: 1
degree: 3
coef.0: 0
Number of Support Vectors: 43
Se genera la predicción
145 29 67 31 8 91
virginica setosa versicolor setosa setosa versicolor
98 95 15 21 102 106
versicolor versicolor setosa setosa virginica virginica
119 148 1 117 64 85
virginica virginica setosa virginica versicolor versicolor
47 9 41 144 75 62
setosa setosa setosa virginica versicolor versicolor
61 19 13 84 16 54
versicolor setosa setosa versicolor setosa versicolor
23 59 100 89 17 20
setosa versicolor versicolor versicolor setosa setosa
134 90 37 78 146 53
versicolor versicolor setosa versicolor virginica versicolor
126 149 60 140 101 97
virginica virginica versicolor virginica virginica versicolor
56 114
versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 20 0
virginica 0 1 13
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 20 0
virginica 0 1 13
$`Precisión Global`
[1] 0.98
$`Error Global`
[1] 0.02
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 1.0000000 0.9285714
Se genera el modelo kernel = "sigmoid"
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(tipo~., data = taprendizaje, kernel = "sigmoid", probability = TRUE)
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "sigmoid",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: sigmoid
cost: 1
coef.0: 0
Number of Support Vectors: 42
Se genera la predicción
145 29 67 31 8 91
virginica setosa versicolor setosa setosa versicolor
98 95 15 21 102 106
versicolor versicolor setosa setosa virginica virginica
119 148 1 117 64 85
virginica virginica setosa virginica versicolor versicolor
47 9 41 144 75 62
setosa setosa setosa virginica versicolor versicolor
61 19 13 84 16 54
versicolor setosa setosa virginica setosa versicolor
23 59 100 89 17 20
setosa versicolor versicolor versicolor setosa setosa
134 90 37 78 146 53
virginica versicolor setosa virginica virginica virginica
126 149 60 140 101 97
virginica virginica versicolor virginica virginica versicolor
56 114
versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
$`Precisión Global`
[1] 0.94
$`Error Global`
[1] 0.06
$`Precisión por categoría`
setosa versicolor virginica
1.00 0.85 1.00
Se cargan las librerías
Se genera el modelo kernel = "linear"
# probability = TRUE no es necesario
modelo <- train.svm(tipo~., data = taprendizaje, kernel = "linear")
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "linear",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: linear
cost: 1
Number of Support Vectors: 24
Se genera la predicción
[1] virginica setosa versicolor setosa setosa versicolor
[7] versicolor versicolor setosa setosa virginica virginica
[13] virginica virginica setosa virginica versicolor versicolor
[19] setosa setosa setosa virginica versicolor versicolor
[25] versicolor setosa setosa virginica setosa versicolor
[31] setosa versicolor versicolor versicolor setosa setosa
[37] virginica versicolor setosa virginica virginica versicolor
[43] virginica virginica versicolor virginica virginica versicolor
[49] versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 0 14
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 0 14
Overall Accuracy: 0.9600
Overall Error: 0.0400
Category Accuracy:
setosa versicolor virginica
1.000000 0.900000 1.000000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 0 14
Overall Accuracy: 0.9600
Overall Error: 0.0400
Category Accuracy:
setosa versicolor virginica
1.000000 0.900000 1.000000
Se genera el modelo kernel = "radial"
# probability = TRUE no es necesario
modelo <- train.svm(tipo~., data = taprendizaje, kernel = "radial")
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "radial",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
Number of Support Vectors: 40
Se genera la predicción
[1] virginica setosa versicolor setosa setosa versicolor
[7] versicolor versicolor setosa setosa virginica virginica
[13] virginica virginica setosa virginica versicolor versicolor
[19] setosa setosa setosa virginica versicolor versicolor
[25] versicolor setosa setosa virginica setosa versicolor
[31] setosa versicolor versicolor versicolor setosa setosa
[37] versicolor versicolor setosa virginica virginica versicolor
[43] virginica virginica versicolor virginica virginica versicolor
[49] versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 1 13
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 1 13
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.900000 0.928571
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 2
virginica 0 1 13
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.900000 0.928571
Se genera el modelo kernel = "polynomial"
# probability = TRUE no es necesario
modelo <- train.svm(tipo~., data = taprendizaje, kernel = "polynomial")
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "polynomial",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: polynomial
cost: 1
degree: 3
coef.0: 0
Number of Support Vectors: 43
Se genera la predicción
[1] virginica setosa versicolor setosa setosa versicolor
[7] versicolor versicolor setosa setosa virginica virginica
[13] virginica virginica setosa virginica versicolor versicolor
[19] setosa setosa setosa virginica versicolor versicolor
[25] versicolor setosa setosa versicolor setosa versicolor
[31] setosa versicolor versicolor versicolor setosa setosa
[37] versicolor versicolor setosa versicolor virginica versicolor
[43] virginica virginica versicolor virginica virginica versicolor
[49] versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 20 0
virginica 0 1 13
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 20 0
virginica 0 1 13
Overall Accuracy: 0.9800
Overall Error: 0.0200
Category Accuracy:
setosa versicolor virginica
1.000000 1.000000 0.928571
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 20 0
virginica 0 1 13
Overall Accuracy: 0.9800
Overall Error: 0.0200
Category Accuracy:
setosa versicolor virginica
1.000000 1.000000 0.928571
Se genera el modelo kernel = "sigmoid"
# probability = TRUE no es necesario
modelo <- train.svm(tipo~., data = taprendizaje, kernel = "sigmoid")
modelo
Call:
svm(formula = tipo ~ ., data = taprendizaje, kernel = "sigmoid",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: sigmoid
cost: 1
coef.0: 0
Number of Support Vectors: 42
Se genera la predicción
[1] virginica setosa versicolor setosa setosa versicolor
[7] versicolor versicolor setosa setosa virginica virginica
[13] virginica virginica setosa virginica versicolor versicolor
[19] setosa setosa setosa virginica versicolor versicolor
[25] versicolor setosa setosa virginica setosa versicolor
[31] setosa versicolor versicolor versicolor setosa setosa
[37] virginica versicolor setosa virginica virginica virginica
[43] virginica virginica versicolor virginica virginica versicolor
[49] versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.850000 1.000000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.850000 1.000000
Utilizando los datos que previamente cargamos
Podemos visualizar la distribución de las variables numéricas según la variable a predecir.
Utilizando los mismo datos para prueba (ttesting) y aprendizaje (taprendizaje) que creamos anteriormente.
Se cargan las librerías
Se genera el modelo
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(tipo~p.largo+p.ancho, data = taprendizaje, kernel = "sigmoid", probability = TRUE)
modelo
Call:
svm(formula = tipo ~ p.largo + p.ancho, data = taprendizaje,
kernel = "sigmoid", probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: sigmoid
cost: 1
coef.0: 0
Number of Support Vectors: 40
Es posible graficar el diagrama de Voronoi cuando tenemos dos variables predictoras.
Se genera la predicción
145 29 67 31 8 91
virginica setosa versicolor setosa setosa versicolor
98 95 15 21 102 106
versicolor versicolor setosa setosa virginica virginica
119 148 1 117 64 85
virginica virginica setosa virginica versicolor versicolor
47 9 41 144 75 62
setosa setosa setosa virginica versicolor versicolor
61 19 13 84 16 54
versicolor setosa setosa virginica setosa versicolor
23 59 100 89 17 20
setosa versicolor versicolor versicolor setosa setosa
134 90 37 78 146 53
virginica versicolor setosa virginica virginica virginica
126 149 60 140 101 97
virginica virginica versicolor virginica virginica versicolor
56 114
versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
$`Precisión Global`
[1] 0.94
$`Error Global`
[1] 0.06
$`Precisión por categoría`
setosa versicolor virginica
1.00 0.85 1.00
Se cargan las librerías
Se genera el modelo
# probability = TRUE no es necesario
modelo <- train.svm(tipo~p.largo+p.ancho, data = taprendizaje, kernel = "sigmoid")
modelo
Call:
svm(formula = tipo ~ p.largo + p.ancho, data = taprendizaje,
kernel = "sigmoid", probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: sigmoid
cost: 1
coef.0: 0
Number of Support Vectors: 40
Es posible graficar el diagrama de Voronoi cuando tenemos dos variables predictoras.
Se genera la predicción
[1] virginica setosa versicolor setosa setosa versicolor
[7] versicolor versicolor setosa setosa virginica virginica
[13] virginica virginica setosa virginica versicolor versicolor
[19] setosa setosa setosa virginica versicolor versicolor
[25] versicolor setosa setosa virginica setosa versicolor
[31] setosa versicolor versicolor versicolor setosa setosa
[37] virginica versicolor setosa virginica virginica virginica
[43] virginica virginica versicolor virginica virginica versicolor
[49] versicolor virginica
Levels: setosa versicolor virginica
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.850000 1.000000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 16 0 0
versicolor 0 17 3
virginica 0 0 14
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.850000 1.000000
setwd("~/Desktop/Datos/")
datos<-read.csv("MuestraCredito5000V2.csv",sep = ";",header=T)
# Recodifica las variables como categóricas ordinales
datos$IngresoNeto <- factor(datos$IngresoNeto, ordered = TRUE)
datos$CoefCreditoAvaluo <- factor(datos$CoefCreditoAvaluo, ordered = TRUE)'data.frame': 5000 obs. of 6 variables:
$ MontoCredito : int 14327 111404 21128 15426 10351 27060 243369 16300 18319 107037 ...
$ IngresoNeto : Ord.factor w/ 2 levels "1"<"2": 1 1 1 2 1 1 1 2 2 2 ...
$ CoefCreditoAvaluo: Ord.factor w/ 12 levels "1"<"2"<"3"<"4"<..: 1 1 1 1 1 1 1 1 1 1 ...
$ MontoCuota : Factor w/ 4 levels "Alto","Bajo",..: 4 4 4 4 4 4 4 4 4 4 ...
$ GradoAcademico : Factor w/ 2 levels "Bachiller","Licenciatura": 1 1 1 1 1 1 1 1 1 1 ...
$ BuenPagador : Factor w/ 2 levels "No","Si": 2 2 2 2 2 2 2 2 2 2 ...
Vamos a generar al azar una tabla de testing con 15% de los datos y una tabla de aprendizaje con 85%
Se cargan las librerías
Se genera el modelo
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(BuenPagador~., data=taprendizaje, probability = TRUE)
modelo
Call:
svm(formula = BuenPagador ~ ., data = taprendizaje, probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
Number of Support Vectors: 991
Se genera la predicción
836 1633 2055 4209 2755 1569 464 267 537 1527 157 4188 1239 3219 3460
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4531 1892 3880 111 3882 3434 1438 1559 809 4228 114 3970 1779 2968 2933
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
2977 3487 4011 2946 493 1765 105 3062 2030 989 4364 30 4517 3009 1101
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4232 1441 4800 2640 255 3196 887 2285 3290 2795 429 4182 2103 2025 3891
Si Si No Si Si Si Si No Si Si Si Si Si Si Si
3041 4249 557 3197 4009 621 1141 1978 3789 3350 3794 574 3566 564 244
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1674 4965 4288 3947 2695 1414 2415 2690 219 43 2282 1363 3849 3689 999
Si Si Si Si Si Si No Si Si Si No Si Si Si Si
1083 1219 453 3359 2691 560 2317 4385 3331 4828 1914 1865 3017 4972 3557
Si Si Si Si Si Si No Si Si Si Si Si Si No Si
4355 1908 2329 4985 2172 4590 3936 750 4501 3013 2687 2654 33 612 4178
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
399 575 1936 2675 2313 413 506 625 1822 1807 4625 2228 3111 1548 2565
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
479 2901 2179 3057 4505 922 1825 1308 2309 189 1215 1954 3311 1147 3753
Si Si No Si Si Si Si Si No Si Si Si Si Si Si
2703 3966 2344 3898 182 1503 632 1047 4783 1436 440 698 2802 103 668
Si Si No Si Si Si Si Si No Si Si Si Si Si Si
2087 2008 4718 320 3818 4765 4869 518 1780 4933 492 3169 3149 846 2672
Si Si Si Si Si Si No Si Si No Si Si Si Si Si
2617 657 2259 3342 1949 1305 4882 4017 1133 1773 4506 2561 1070 345 264
Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
4087 2652 3718 4167 38 1228 1715 2992 2616 4942 1785 4726 826 3646 654
Si Si Si Si Si Si Si Si Si No Si No Si Si Si
3580 3573 406 1898 167 3387 3090 4646 3252 31 1640 4823 1934 4061 1
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3286 3747 1318 1471 985 1287 1555 1575 4210 4609 2657 3643 1157 902 462
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1314 1546 3938 3235 722 2499 525 559 4725 4557 536 523 1261 2176 4931
Si Si Si Si Si Si Si Si No Si Si Si Si No Si
1529 1234 2283 4880 4391 174 3391 4199 732 4300 3691 3478 4560 957 2603
Si Si No No Si Si Si Si Si Si Si Si Si Si Si
3617 2334 2400 2571 3186 672 2993 4534 4537 1347 682 2682 2032 1301 4826
Si No Si Si Si Si Si Si Si Si Si Si Si Si No
3069 4426 4728 3312 1812 2441 2879 1509 3742 4572 1938 3336 2945 2678 2009
Si Si No Si Si No Si Si Si Si Si Si Si Si Si
1207 3641 146 2089 4015 4507 3919 477 2834 2351 3585 1359 643 600 2761
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
77 3199 3874 1976 4293 2308 1208 521 1214 623 3364 1044 1579 3883 2251
Si Si Si Si Si No Si Si Si No Si Si Si Si Si
4097 4627 3371 3126 4924 1797 317 4894 1832 3918 4320 807 4398 4960 79
Si Si Si Si No Si Si No Si Si Si Si Si Si Si
2961 1783 1583 3962 2397 4862 1326 2514 2880 2651 2362 1400 1005 2718 2835
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
3205 2915 4287 1537 2069 1733 4262 4815 4511 4889 993 1004 1551 4454 1998
Si Si Si Si Si Si Si No Si No Si Si Si Si Si
4294 1134 1462 2995 4790 4315 916 4771 1589 2375 1926 4117 552 1538 4388
Si Si Si Si No No Si No Si No Si Si Si Si Si
1912 2596 1808 776 1863 4520 2597 4395 4970 4043 4832 4736 1913 639 4565
Si Si Si Si Si Si Si Si Si Si No No Si Si Si
4630 2837 27 1099 3490 4897 2733 471 2022 2097 2449 4801 2739 391 2842
Si Si Si Si Si Si Si Si Si Si No No Si Si Si
2553 2046 403 658 3885 838 4525 3253 2497 4649 4542 2473 3913 4139 4174
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2291 2443 865 3020 25 4033 640 265 1836 4817 1321 2539 2742 4333 3601
No No Si Si Si Si Si Si Si No Si Si Si Si Si
725 3948 3008 2173 1655 3624 4791 2320 131 2577 3341 2528 3760 3194 2495
Si Si Si No Si Si No No Si Si Si Si Si Si Si
3377 622 242 3929 3202 4490 4567 1246 4535 2526 3425 3028 1684 50 2845
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
142 3432 3645 706 3491 1360 2428 2316 134 1782 847 256 1100 449 3209
Si Si Si Si Si Si No No Si Si Si Si Si Si Si
2031 2713 3759 1033 2862 2216 3251 226 2903 1302 4237 4479 2213 4447 995
Si Si Si Si Si No Si Si Si Si Si Si Si No Si
522 3153 790 4073 641 100 1963 3608 2295 1050 1105 782 3609 2222 2934
Si Si Si Si Si Si Si Si No Si Si Si Si No Si
1118 4636 4047 4669 2698 2770 2751 1657 2325 2873 1930 1294 775 554 4322
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1232 3668 4975 3494 3560 1763 4735 3896 14 2986 84 3101 3908 2264 2093
Si Si Si Si Si Si No Si Si Si Si Si Si No Si
4471 1631 3212 2817 3999 3296 4102 3514 1084 3995 3679 229 3706 366 133
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4986 1923 170 181 207 821 2106 2063 4027 4705 1824 1986 4850 2472 3800
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
1334 87 550 4016 2453 896 4302 3448 2084 1608 4922 4253 614 3951 1404
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
3135 2766 4078 4461 312 1160 3002 210 1383 833 1916 4544 4954 3170 1236
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
1518 3933 649 4396 4657 2747 757 3859 2870 4601 2346 4098 4147 2562 1450
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
1970 3294 439 3355 659 3678 774 1726 2279 1755 3901 3811 2373 1030 3273
Si Si Si Si Si Si Si Si No No Si Si Si Si Si
4992 3864 2666 1433 3502 21 4900 4529 1495 129 4455 283 3717 1724 1670
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2624 3392 921 4084 744 3332 2887 1858 4976 4090 232 2964 4277 1864 3550
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
976 2355 2888 1467 1843 3786 648 2166 3755 4132 4266 1624 4186 1449 3649
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1131 2371 3844 35 3743 4512 2217 1558 1973 2606 4464 1353 3300 592 917
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
1291 4854 3082 4860 4952 2753 2050 1115 3812 2566 63 4841 543 611 1707
Si No Si No No Si Si Si Si Si Si No Si Si Si
491 4561 507 4772 4881 4204 292 646 3384 2141 4349 2102 3158 2783 1319
Si Si Si No No Si Si Si Si Si Si Si Si Si Si
980 4422 4582 1752 2714 593 3376 1175 1649 2831 4235 300 4637 309 965
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
Se genera la matriz de confusión
prediccion
No Si
No 63 39
Si 5 643
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 63 39
Si 5 643
$`Precisión Global`
[1] 0.9413333
$`Error Global`
[1] 0.05866667
$`Precisión por categoría`
No Si
0.6176471 0.9922840
Se cargan las librerías
Se genera el modelo
Call:
svm(formula = BuenPagador ~ ., data = taprendizaje, probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
Number of Support Vectors: 991
Se genera la predicción
[1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[24] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[47] Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[70] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si
[93] Si Si Si Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No
[139] Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si No Si Si
[162] Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si
[185] Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si No
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[254] No Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[277] Si Si Si Si Si Si Si Si No Si Si No Si Si No Si Si Si Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si
[323] Si Si No Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si
[346] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[369] Si No Si Si Si Si Si Si Si Si Si No No Si No Si No Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si
[415] Si No No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No
[438] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si No No Si Si
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[507] Si Si No Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[553] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[599] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
[622] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[668] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[691] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si No No Si Si Si
[714] Si Si Si No Si Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
Se genera la matriz de confusión
prediction
real No Si
No 63 39
Si 5 643
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 63 39
Si 5 643
Overall Accuracy: 0.9413
Overall Error: 0.0587
Category Accuracy:
No Si
0.617647 0.992284
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 63 39
Si 5 643
Overall Accuracy: 0.9413
Overall Error: 0.0587
Category Accuracy:
No Si
0.617647 0.992284
Utilizando los datos que previamente cargamos
Podemos visualizar la distribución de las variables numéricas y categóricas según la variable a predecir.
Utilizando los mismo datos para prueba (ttesting) y aprendizaje (taprendizaje) que creamos anteriormente.
Se cargan las librerías
Se genera el modelo
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(BuenPagador~CoefCreditoAvaluo+MontoCuota+IngresoNeto+GradoAcademico, data = taprendizaje, probability = TRUE)
modelo
Call:
svm(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCuota +
IngresoNeto + GradoAcademico, data = taprendizaje, probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
Number of Support Vectors: 936
Se genera la predicción
836 1633 2055 4209 2755 1569 464 267 537 1527 157 4188 1239 3219 3460
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
4531 1892 3880 111 3882 3434 1438 1559 809 4228 114 3970 1779 2968 2933
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
2977 3487 4011 2946 493 1765 105 3062 2030 989 4364 30 4517 3009 1101
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4232 1441 4800 2640 255 3196 887 2285 3290 2795 429 4182 2103 2025 3891
Si Si No Si Si Si Si No Si Si Si Si Si Si Si
3041 4249 557 3197 4009 621 1141 1978 3789 3350 3794 574 3566 564 244
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1674 4965 4288 3947 2695 1414 2415 2690 219 43 2282 1363 3849 3689 999
Si Si Si Si Si Si No Si Si Si No Si Si Si Si
1083 1219 453 3359 2691 560 2317 4385 3331 4828 1914 1865 3017 4972 3557
Si Si Si Si Si Si No Si Si Si Si Si Si No Si
4355 1908 2329 4985 2172 4590 3936 750 4501 3013 2687 2654 33 612 4178
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
399 575 1936 2675 2313 413 506 625 1822 1807 4625 2228 3111 1548 2565
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
479 2901 2179 3057 4505 922 1825 1308 2309 189 1215 1954 3311 1147 3753
Si Si No Si Si Si Si Si No Si Si Si Si Si Si
2703 3966 2344 3898 182 1503 632 1047 4783 1436 440 698 2802 103 668
Si Si No Si Si Si Si Si No Si Si Si Si Si Si
2087 2008 4718 320 3818 4765 4869 518 1780 4933 492 3169 3149 846 2672
Si Si Si Si Si Si No Si Si No Si Si Si Si Si
2617 657 2259 3342 1949 1305 4882 4017 1133 1773 4506 2561 1070 345 264
Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
4087 2652 3718 4167 38 1228 1715 2992 2616 4942 1785 4726 826 3646 654
Si Si Si Si Si Si Si Si Si No Si No Si Si Si
3580 3573 406 1898 167 3387 3090 4646 3252 31 1640 4823 1934 4061 1
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3286 3747 1318 1471 985 1287 1555 1575 4210 4609 2657 3643 1157 902 462
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1314 1546 3938 3235 722 2499 525 559 4725 4557 536 523 1261 2176 4931
Si Si Si Si Si Si Si Si No Si Si Si Si No Si
1529 1234 2283 4880 4391 174 3391 4199 732 4300 3691 3478 4560 957 2603
Si Si No No Si Si Si Si Si Si Si Si Si Si Si
3617 2334 2400 2571 3186 672 2993 4534 4537 1347 682 2682 2032 1301 4826
Si No Si Si Si Si Si Si Si Si Si Si Si Si No
3069 4426 4728 3312 1812 2441 2879 1509 3742 4572 1938 3336 2945 2678 2009
Si No No Si Si No Si Si Si Si Si Si Si Si Si
1207 3641 146 2089 4015 4507 3919 477 2834 2351 3585 1359 643 600 2761
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
77 3199 3874 1976 4293 2308 1208 521 1214 623 3364 1044 1579 3883 2251
Si Si Si Si Si No Si Si Si No Si Si Si Si Si
4097 4627 3371 3126 4924 1797 317 4894 1832 3918 4320 807 4398 4960 79
Si Si Si Si No Si Si No Si Si Si Si Si Si Si
2961 1783 1583 3962 2397 4862 1326 2514 2880 2651 2362 1400 1005 2718 2835
Si Si Si Si Si No Si Si No Si Si Si Si Si Si
3205 2915 4287 1537 2069 1733 4262 4815 4511 4889 993 1004 1551 4454 1998
Si Si Si Si Si Si Si No Si No Si Si Si Si Si
4294 1134 1462 2995 4790 4315 916 4771 1589 2375 1926 4117 552 1538 4388
Si Si Si Si No No Si No Si No Si Si Si Si Si
1912 2596 1808 776 1863 4520 2597 4395 4970 4043 4832 4736 1913 639 4565
Si Si Si Si Si Si Si Si Si Si No No Si Si Si
4630 2837 27 1099 3490 4897 2733 471 2022 2097 2449 4801 2739 391 2842
Si Si Si Si Si Si Si Si Si Si No No Si Si Si
2553 2046 403 658 3885 838 4525 3253 2497 4649 4542 2473 3913 4139 4174
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2291 2443 865 3020 25 4033 640 265 1836 4817 1321 2539 2742 4333 3601
No No Si Si Si Si Si Si Si No Si Si Si Si Si
725 3948 3008 2173 1655 3624 4791 2320 131 2577 3341 2528 3760 3194 2495
Si Si Si No Si Si No No Si Si Si Si Si Si Si
3377 622 242 3929 3202 4490 4567 1246 4535 2526 3425 3028 1684 50 2845
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
142 3432 3645 706 3491 1360 2428 2316 134 1782 847 256 1100 449 3209
Si Si Si Si Si Si No No Si Si Si Si Si Si Si
2031 2713 3759 1033 2862 2216 3251 226 2903 1302 4237 4479 2213 4447 995
Si No Si Si Si No Si Si Si Si Si Si Si No Si
522 3153 790 4073 641 100 1963 3608 2295 1050 1105 782 3609 2222 2934
Si Si Si Si Si Si Si Si No Si Si Si Si No Si
1118 4636 4047 4669 2698 2770 2751 1657 2325 2873 1930 1294 775 554 4322
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
1232 3668 4975 3494 3560 1763 4735 3896 14 2986 84 3101 3908 2264 2093
Si Si Si Si Si Si No Si Si Si Si Si Si No Si
4471 1631 3212 2817 3999 3296 4102 3514 1084 3995 3679 229 3706 366 133
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4986 1923 170 181 207 821 2106 2063 4027 4705 1824 1986 4850 2472 3800
Si Si Si No Si Si Si Si Si Si Si Si No Si Si
1334 87 550 4016 2453 896 4302 3448 2084 1608 4922 4253 614 3951 1404
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
3135 2766 4078 4461 312 1160 3002 210 1383 833 1916 4544 4954 3170 1236
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
1518 3933 649 4396 4657 2747 757 3859 2870 4601 2346 4098 4147 2562 1450
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
1970 3294 439 3355 659 3678 774 1726 2279 1755 3901 3811 2373 1030 3273
Si Si Si Si Si Si Si Si No No Si Si Si Si Si
4992 3864 2666 1433 3502 21 4900 4529 1495 129 4455 283 3717 1724 1670
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2624 3392 921 4084 744 3332 2887 1858 4976 4090 232 2964 4277 1864 3550
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
976 2355 2888 1467 1843 3786 648 2166 3755 4132 4266 1624 4186 1449 3649
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1131 2371 3844 35 3743 4512 2217 1558 1973 2606 4464 1353 3300 592 917
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
1291 4854 3082 4860 4952 2753 2050 1115 3812 2566 63 4841 543 611 1707
Si No Si No No Si Si Si Si Si Si No Si Si Si
491 4561 507 4772 4881 4204 292 646 3384 2141 4349 2102 3158 2783 1319
Si Si Si No No Si Si Si Si Si Si Si Si Si Si
980 4422 4582 1752 2714 593 3376 1175 1649 2831 4235 300 4637 309 965
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
Se genera la matriz de confusión
prediccion
No Si
No 63 39
Si 11 637
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 63 39
Si 11 637
$`Precisión Global`
[1] 0.9333333
$`Error Global`
[1] 0.06666667
$`Precisión por categoría`
No Si
0.6176471 0.9830247
Se genera el modelo con kernel = "sigmoid"
# probability = TRUE para que nos permita predecir clases o probabilidades
modelo <- svm(BuenPagador~CoefCreditoAvaluo+MontoCuota+IngresoNeto+GradoAcademico, data = taprendizaje, probability = TRUE, kernel = "sigmoid")
modelo
Call:
svm(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCuota +
IngresoNeto + GradoAcademico, data = taprendizaje, probability = TRUE,
kernel = "sigmoid")
Parameters:
SVM-Type: C-classification
SVM-Kernel: sigmoid
cost: 1
coef.0: 0
Number of Support Vectors: 1040
Se genera la predicción
836 1633 2055 4209 2755 1569 464 267 537 1527 157 4188 1239 3219 3460
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4531 1892 3880 111 3882 3434 1438 1559 809 4228 114 3970 1779 2968 2933
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2977 3487 4011 2946 493 1765 105 3062 2030 989 4364 30 4517 3009 1101
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4232 1441 4800 2640 255 3196 887 2285 3290 2795 429 4182 2103 2025 3891
Si Si No Si Si Si Si No Si Si Si Si Si Si Si
3041 4249 557 3197 4009 621 1141 1978 3789 3350 3794 574 3566 564 244
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1674 4965 4288 3947 2695 1414 2415 2690 219 43 2282 1363 3849 3689 999
Si Si Si Si Si Si No Si Si Si No Si Si Si Si
1083 1219 453 3359 2691 560 2317 4385 3331 4828 1914 1865 3017 4972 3557
Si Si Si Si Si Si No Si Si Si Si Si Si No Si
4355 1908 2329 4985 2172 4590 3936 750 4501 3013 2687 2654 33 612 4178
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
399 575 1936 2675 2313 413 506 625 1822 1807 4625 2228 3111 1548 2565
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
479 2901 2179 3057 4505 922 1825 1308 2309 189 1215 1954 3311 1147 3753
Si Si No Si Si Si Si Si No Si Si Si Si Si Si
2703 3966 2344 3898 182 1503 632 1047 4783 1436 440 698 2802 103 668
Si Si No Si Si Si Si Si No Si Si Si Si Si Si
2087 2008 4718 320 3818 4765 4869 518 1780 4933 492 3169 3149 846 2672
Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
2617 657 2259 3342 1949 1305 4882 4017 1133 1773 4506 2561 1070 345 264
Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
4087 2652 3718 4167 38 1228 1715 2992 2616 4942 1785 4726 826 3646 654
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
3580 3573 406 1898 167 3387 3090 4646 3252 31 1640 4823 1934 4061 1
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3286 3747 1318 1471 985 1287 1555 1575 4210 4609 2657 3643 1157 902 462
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1314 1546 3938 3235 722 2499 525 559 4725 4557 536 523 1261 2176 4931
Si Si Si Si Si Si Si Si No Si Si Si Si No Si
1529 1234 2283 4880 4391 174 3391 4199 732 4300 3691 3478 4560 957 2603
Si Si No No Si Si Si Si Si Si Si Si Si Si Si
3617 2334 2400 2571 3186 672 2993 4534 4537 1347 682 2682 2032 1301 4826
Si No Si Si Si Si Si Si Si Si Si Si Si Si No
3069 4426 4728 3312 1812 2441 2879 1509 3742 4572 1938 3336 2945 2678 2009
Si Si No Si Si No Si Si Si Si Si Si Si Si Si
1207 3641 146 2089 4015 4507 3919 477 2834 2351 3585 1359 643 600 2761
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
77 3199 3874 1976 4293 2308 1208 521 1214 623 3364 1044 1579 3883 2251
Si Si Si Si Si No Si Si Si No Si Si Si Si Si
4097 4627 3371 3126 4924 1797 317 4894 1832 3918 4320 807 4398 4960 79
Si Si Si Si No Si Si No Si Si Si Si Si Si Si
2961 1783 1583 3962 2397 4862 1326 2514 2880 2651 2362 1400 1005 2718 2835
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
3205 2915 4287 1537 2069 1733 4262 4815 4511 4889 993 1004 1551 4454 1998
Si Si Si Si Si Si Si No Si No Si Si Si Si Si
4294 1134 1462 2995 4790 4315 916 4771 1589 2375 1926 4117 552 1538 4388
Si Si Si Si No No Si No Si No Si Si Si Si Si
1912 2596 1808 776 1863 4520 2597 4395 4970 4043 4832 4736 1913 639 4565
Si Si Si Si Si Si Si Si Si Si No No Si Si Si
4630 2837 27 1099 3490 4897 2733 471 2022 2097 2449 4801 2739 391 2842
Si Si Si Si Si Si Si Si Si Si No No Si Si Si
2553 2046 403 658 3885 838 4525 3253 2497 4649 4542 2473 3913 4139 4174
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2291 2443 865 3020 25 4033 640 265 1836 4817 1321 2539 2742 4333 3601
No No Si Si Si Si Si Si Si No Si Si Si Si Si
725 3948 3008 2173 1655 3624 4791 2320 131 2577 3341 2528 3760 3194 2495
Si Si Si No Si Si No No Si Si Si Si Si Si Si
3377 622 242 3929 3202 4490 4567 1246 4535 2526 3425 3028 1684 50 2845
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
142 3432 3645 706 3491 1360 2428 2316 134 1782 847 256 1100 449 3209
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
2031 2713 3759 1033 2862 2216 3251 226 2903 1302 4237 4479 2213 4447 995
Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
522 3153 790 4073 641 100 1963 3608 2295 1050 1105 782 3609 2222 2934
Si Si Si Si Si Si Si Si No Si Si Si Si No Si
1118 4636 4047 4669 2698 2770 2751 1657 2325 2873 1930 1294 775 554 4322
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1232 3668 4975 3494 3560 1763 4735 3896 14 2986 84 3101 3908 2264 2093
Si Si Si Si Si Si No Si Si Si Si Si Si No Si
4471 1631 3212 2817 3999 3296 4102 3514 1084 3995 3679 229 3706 366 133
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4986 1923 170 181 207 821 2106 2063 4027 4705 1824 1986 4850 2472 3800
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
1334 87 550 4016 2453 896 4302 3448 2084 1608 4922 4253 614 3951 1404
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
3135 2766 4078 4461 312 1160 3002 210 1383 833 1916 4544 4954 3170 1236
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
1518 3933 649 4396 4657 2747 757 3859 2870 4601 2346 4098 4147 2562 1450
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
1970 3294 439 3355 659 3678 774 1726 2279 1755 3901 3811 2373 1030 3273
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
4992 3864 2666 1433 3502 21 4900 4529 1495 129 4455 283 3717 1724 1670
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2624 3392 921 4084 744 3332 2887 1858 4976 4090 232 2964 4277 1864 3550
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
976 2355 2888 1467 1843 3786 648 2166 3755 4132 4266 1624 4186 1449 3649
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1131 2371 3844 35 3743 4512 2217 1558 1973 2606 4464 1353 3300 592 917
Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
1291 4854 3082 4860 4952 2753 2050 1115 3812 2566 63 4841 543 611 1707
Si No Si No No Si Si Si Si Si Si No Si Si Si
491 4561 507 4772 4881 4204 292 646 3384 2141 4349 2102 3158 2783 1319
Si Si Si No No Si Si Si Si Si Si Si Si Si Si
980 4422 4582 1752 2714 593 3376 1175 1649 2831 4235 300 4637 309 965
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
Se genera la matriz de confusión
prediccion
No Si
No 60 42
Si 2 646
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 60 42
Si 2 646
$`Precisión Global`
[1] 0.9413333
$`Error Global`
[1] 0.05866667
$`Precisión por categoría`
No Si
0.5882353 0.9969136
Se cargan las librerías
Se genera el modelo
# probability = TRUE no es necesario
modelo <- train.svm(BuenPagador~CoefCreditoAvaluo+MontoCuota+IngresoNeto+GradoAcademico, data = taprendizaje)
modelo
Call:
svm(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCuota +
IngresoNeto + GradoAcademico, data = taprendizaje, probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
Number of Support Vectors: 936
Se genera la predicción
[1] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[24] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[47] Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[70] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si
[93] Si Si Si Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No
[139] Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si No Si Si
[162] Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si
[185] Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si No
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[254] No Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[277] Si Si Si Si Si Si Si Si No Si No No Si Si No Si Si Si Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si
[323] Si Si No Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si
[346] Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No
[369] Si No Si Si Si Si Si Si Si Si Si No No Si No Si No Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si
[415] Si No No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No
[438] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si No No Si Si
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si No No Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si
[507] Si Si No Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si
[530] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[553] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
[576] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[599] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
[622] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No No Si Si Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[668] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[691] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si No No Si Si Si
[714] Si Si Si No Si Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
Se genera la matriz de confusión
prediction
real No Si
No 63 39
Si 11 637
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 63 39
Si 11 637
Overall Accuracy: 0.9333
Overall Error: 0.0667
Category Accuracy:
No Si
0.617647 0.983025
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 63 39
Si 11 637
Overall Accuracy: 0.9333
Overall Error: 0.0667
Category Accuracy:
No Si
0.617647 0.983025
Se genera el modelo con kernel = "sigmoid"
# probability = TRUE no es necesario
modelo <- train.svm(BuenPagador~CoefCreditoAvaluo+MontoCuota+IngresoNeto+GradoAcademico, data = taprendizaje, kernel = "sigmoid")
modelo
Call:
svm(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCuota +
IngresoNeto + GradoAcademico, data = taprendizaje, kernel = "sigmoid",
probability = TRUE)
Parameters:
SVM-Type: C-classification
SVM-Kernel: sigmoid
cost: 1
coef.0: 0
Number of Support Vectors: 1040
Se genera la predicción
[1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[24] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[47] Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[70] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si
[93] Si Si Si Si No Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[116] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No
[139] Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si No Si Si
[162] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[185] Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[231] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[254] No Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[277] Si Si Si Si Si Si Si Si No Si Si No Si Si No Si Si Si Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si
[323] Si Si No Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si
[346] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
[369] Si No Si Si Si Si Si Si Si Si Si No No Si No Si No Si Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si Si
[415] Si No No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No
[438] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si No No Si Si
[461] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[507] Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si
[530] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[553] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[599] Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
[622] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[645] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[668] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[691] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si No No Si Si Si
[714] Si Si Si No Si Si Si Si Si Si No No Si Si Si Si Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
Se genera la matriz de confusión
prediction
real No Si
No 60 42
Si 2 646
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 60 42
Si 2 646
Overall Accuracy: 0.9413
Overall Error: 0.0587
Category Accuracy:
No Si
0.588235 0.996914
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 60 42
Si 2 646
Overall Accuracy: 0.9413
Overall Error: 0.0587
Category Accuracy:
No Si
0.588235 0.996914